﻿<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
//复制文件
function copyFile(){   
    var src=document.getElementById("src").value;
    var dest=document.getElementById("dest").value; 
    var fileName=document.getElementById("fileName").value;
    window.requestFileSystem(window.PERSISTENT, 1024*1024, function(fs) {
        copy(fs.root, src+'/'+fileName, dest+'/');
    }, errorHandler);
}
function copy(cwd, src, dest) {    
    cwd.getFile(src, {create:false}, 
    //获取被复制文件成功时执行的回调函数
    function(fileEntry) {
        cwd.getDirectory(dest, {create:false}, 
        //获取复制目标目录成功时执行的回调函数
        function(dirEntry) {
            fileEntry.copyTo(dirEntry,fileEntry.name,
                //复制文件操作成功时执行的回调函数
                function() {
                    document.getElementById("result").innerHTML ='文件复制成功';
                }, 
                //复制文件操作失败时执行的回调函数
                errorHandler
            );
        }, 
        //获取复制目标目录失败时执行的回调函数
        errorHandler);
    //获取被复制文件失败时执行的回调函数
    }, errorHandler);
}
function errorHandler(e) {
    switch (e.code) {
        case FileError.QUOTA_EXCEEDED_ERR:
            console.log('文件系统所使用的存储空间的尺寸超过磁盘限额控制中指定的空间尺寸');
            break;
        case FileError.NOT_FOUND_ERR:
            console.log('未找到文件或目录');
            break;
        case FileError.SECURITY_ERR:
            console.log( '操作不当引起安全性错误');
            break;
        case FileError.INVALID_MODIFICATION_ERR:
            console.log('对文件或目录所指定的操作不能被执行');
            break;
        case FileError.INVALID_STATE_ERR:
            console.log('指定的状态无效');
    };
}

</script>
</head>
<body>
<h1>复制文件</h1>      
源 目 录：<input type="text" id="src"><br/>  
目标目录：<input type="text" id="dest"><br/>   
复制文件：<input type="text" id="fileName"><br/>   
<input type="button" value="复制文件" onclick="copyFile()"><br/>    
<output id="result" ></output>  
</body>   
</html> 
